package com.ruoyi.zhgd.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.zhgd.util.PageUtils;
import com.ruoyi.zhgd.util.Query;
import com.ruoyi.zhgd.domain.NSysStation;
import com.ruoyi.zhgd.domain.vo.NSysStationVo;
import com.ruoyi.zhgd.domain.bo.NSysStationBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.zhgd.dto.SysStationDto;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 拌合楼Service接口
 *
 * @author zyb
 * @date 2023-09-06
 */
public interface INSysStationService {

    /**
     * 查询拌合楼
     */
    NSysStationVo queryById(String id);

    /**
     * 查询拌合楼列表
     */
    TableDataInfo<NSysStationVo> queryPageList(NSysStationBo bo, PageQuery pageQuery);

    /**
     * 查询拌合楼列表
     */
    List<NSysStationVo> queryList(NSysStationBo bo);

    /**
     * 新增拌合楼
     */
    Boolean insertByBo(NSysStation bo);

    /**
     * 修改拌合楼
     */
    Boolean updateByBo(NSysStation bo);

    /**
     * 校验并批量删除拌合楼信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);


    List<NSysStation> list(Map<String, Object> params);



    PageUtils sysStationList(Page page, Map<String, Object> params);

    List<SysStationDto> sysStationType();

    /**
     * 根据code 查询拌和站
     * @param stationCode
     * @return
     */
    NSysStation getStationByCode(String stationCode);

    /**
     * 获取拌和楼列表
     * @param bo
     * @return
     */
    List<NSysStation> allList(NSysStationBo bo);

    R<List<NSysStationVo>> listSelect(NSysStationBo bo);

    List<NSysStation> cements(Map<String, Object> params);
}
